Prizm Content Connect
Get Fast Page Count File (getFastPagesURL)

GetFastPageCount file is called from ViewerEnterprise.swf and returns the approximate number of pages in the document.

GetFastPageCount file accepts document as a GET parameter and returns the pages.

Arguments:  fileName, documentname, instanceid

Returns:  pages=pagecount

VB.NET
Copy Code

<%@ WebHandler Language="VB" Class="GetFastPageCount" %>

Imports System.Web
Imports System.IO
Imports System.Net
Imports System.Web.Configuration
Imports System.Web.SessionState

Public Class GetFastPageCount
    Implements IHttpHandler
    Implements IReadOnlySessionState
    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        ' Environmental Setup
        PccConfig.LoadConfig("prizmconfig.xml")

        Dim origDocument As String = context.Request.QueryString("fileName")
        Dim document As String = PccCommon.getDownloadedName(origDocument)
        Dim documentLocation As String = PccCommon.getDownloadedPath(origDocument)
        Dim tempLocation As String = PccConfig.TempFolder


        Dim originalDocument As String = System.IO.Path.Combine(documentLocation, document)
        Dim pageContent As String = ""

        If System.IO.File.Exists(originalDocument) Then
            Dim UniqueFileIdHash As String = PccCommon.getFileHash(documentLocation & document)
            Dim fastpgcntFile As String = System.IO.Path.Combine(tempLocation, UniqueFileIdHash & "_" & document & "_fastpagecount.txt")
            If System.IO.File.Exists(fastpgcntFile) Then
                Dim tr As TextReader = New StreamReader(fastpgcntFile)
                pageContent = tr.ReadLine()
                tr.Close()
            End If
            If (pageContent Is Nothing Or pageContent.Trim().Equals("") Or pageContent.Trim().Equals("0")) Then
                Try
                    Dim HttpWReq As HttpWebRequest = DirectCast(WebRequest.Create(PccConfig.ImagingService + "/convert2swf?fastpgcnt&source=" & HttpUtility.UrlEncode(originalDocument)), HttpWebRequest)
                    HttpWReq.Timeout = 660000
                    Dim HttpWResp As HttpWebResponse = DirectCast(HttpWReq.GetResponse(), HttpWebResponse)
                    Dim sr As New StreamReader(HttpWResp.GetResponseStream(), System.Text.Encoding.UTF8)
                    pageContent = sr.ReadToEnd()
                    HttpWResp.Close()
                    sr.Close()

                    Dim tw As TextWriter = New StreamWriter(fastpgcntFile)
                    tw.Write(pageContent)
                    tw.Close()
                Catch
                    pageContent = "1"                   
                End Try
            End If

            context.Response.Write("pages=" & pageContent)
        Else
            context.Response.Status = "404 Not Found"
            context.Response.StatusCode = 404
            context.Response.Write("Error")
        End If
    End Sub

    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property
End Class

 

 


©2014. Accusoft Corporation. All Rights Reserved.

Send Feedback